package main

import (
	"fmt"
	"io"
	"net/http"
)

// HTTP 服务端

func main() {

	fmt.Println("HTTP SERVER start...")

	// 单独写回调函数
	http.HandleFunc("/go", handle)

	// Post
	http.HandleFunc("/login", handle)

	// 启动服务器
	http.ListenAndServe("127.0.0.1:50000", nil)

}

// 处理函数
func handle(w http.ResponseWriter, r *http.Request) {
	fmt.Println(r.RemoteAddr, "连接成功")
	// 请求方式 GET\POST\DELETE\PUT\UPDATE
	fmt.Println("获取请求方式:", r.Method)
	fmt.Println("获取请求路径:", r.URL.Path)
	fmt.Println("获取请求头:", r.Header)
	fmt.Println("获取请求体:", r.Body)
	fmt.Println("获取请求体:", r.Body)

	// 读取原始字符串
	body, err := io.ReadAll(r.Body)
	if err != nil {
		http.Error(w, "读取请求体失败", http.StatusBadRequest)
		return
	}
	defer r.Body.Close()
	// 直接获取字符串
	inputString := string(body)
	fmt.Printf("📥 收到字符串: %s\n", inputString)

	query := r.URL.Query()
	fmt.Println("获取请求路径参数", query)

	// 回复
	w.Write([]byte("你好，前路漫漫刚刚开始..."))
}
